﻿using System;
using System.Collections.Generic;
using System.IO;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.hive;

namespace SharpSqlAnalyzer
{
	// Token: 0x0200005B RID: 91
	internal class TParserHive : TCustomParser
	{
		// Token: 0x0600019F RID: 415 RVA: 0x0008A357 File Offset: 0x00088557
		static TParserHive()
		{
			TParserHive.inittable();
		}

		// Token: 0x060001A0 RID: 416 RVA: 0x0008A368 File Offset: 0x00088568
		internal TParserHive(TSourceTokenList sourcetokens)
		{
			this.dbvendor = EDbVendor.dbvhive;
			this.sourcetokenlist = sourcetokens;
		}

		// Token: 0x060001A1 RID: 417 RVA: 0x0008A380 File Offset: 0x00088580
		internal static void inittable()
		{
			int num = 1;
			int num2 = 1;
			int num3 = 1;
			int num4 = 1;
			int num5 = 1;
			int num6 = 1;
			int num7 = 0;
			int num8 = 0;
			int num9 = 0;
			int num10 = 0;
			int num11 = 0;
			bool flag = false;
			bool flag2 = false;
			bool flag3 = false;
			bool flag4 = false;
			bool flag5 = false;
			bool flag6 = false;
			bool flag7 = false;
			bool flag8 = false;
			bool flag9 = false;
			bool flag10 = false;
			bool flag11 = false;
			StreamReader streamReader = TCustomLexer.readSymbolTable("hive", "yacc");
			try
			{
				string text;
				while ((text = streamReader.ReadLine()) != null)
				{
					if (text.Trim().StartsWith("yynacts =", StringComparison.Ordinal))
					{
						TParserHive.yynacts = int.Parse(text.Split(new char[]
						{
							'=',
							';'
						}, StringSplitOptions.RemoveEmptyEntries)[1].Trim());
						TParserHive.yya_sym = new int[TParserHive.yynacts + 1];
						TParserHive.yya_act = new int[TParserHive.yynacts + 1];
					}
					else if (text.Trim().StartsWith("yyngotos =", StringComparison.Ordinal))
					{
						TParserHive.yyngotos = int.Parse(text.Split(new char[]
						{
							'=',
							';'
						}, StringSplitOptions.RemoveEmptyEntries)[1].Trim());
						TParserHive.yyg_sym = new int[TParserHive.yyngotos + 1];
						TParserHive.yyg_act = new int[TParserHive.yyngotos + 1];
					}
					else if (text.Trim().StartsWith("yynrules =", StringComparison.Ordinal))
					{
						TParserHive.yynrules = int.Parse(text.Split(new char[]
						{
							'=',
							';'
						}, StringSplitOptions.RemoveEmptyEntries)[1].Trim());
						TParserHive.yyr_len = new int[TParserHive.yynrules + 1];
						TParserHive.yyr_sym = new int[TParserHive.yynrules + 1];
					}
					else if (text.Trim().StartsWith("yynstates =", StringComparison.Ordinal))
					{
						TParserHive.yynstates = int.Parse(text.Split(new char[]
						{
							'=',
							';'
						}, StringSplitOptions.RemoveEmptyEntries)[1].Trim());
						TParserHive.yyd = new int[TParserHive.yynstates];
						TParserHive.yyal = new int[TParserHive.yynstates];
						TParserHive.yyah = new int[TParserHive.yynstates];
						TParserHive.yygl = new int[TParserHive.yynstates];
						TParserHive.yygh = new int[TParserHive.yynstates];
					}
					else if (text.Trim().StartsWith(";", StringComparison.Ordinal))
					{
						if (flag)
						{
							flag = false;
							if (TParserHive.yynacts + 1 != num)
							{
								Console.WriteLine("required:" + TParserHive.yynacts.ToString() + " actually:" + (num - 1).ToString());
							}
						}
						else if (flag2)
						{
							flag2 = false;
							if (TParserHive.yynacts + 1 != num2)
							{
								Console.WriteLine("required:" + TParserHive.yynacts.ToString() + " actually:" + (num2 - 1).ToString());
							}
						}
						else if (flag3)
						{
							flag3 = false;
							if (TParserHive.yyngotos + 1 != num3)
							{
								Console.WriteLine("required:" + TParserHive.yyngotos.ToString() + " actually:" + (num3 - 1).ToString());
							}
						}
						else if (flag4)
						{
							flag4 = false;
							if (TParserHive.yyngotos + 1 != num4)
							{
								Console.WriteLine("required:" + TParserHive.yyngotos.ToString() + " actually:" + (num4 - 1).ToString());
							}
						}
						else if (flag5)
						{
							flag5 = false;
							if (TParserHive.yynrules + 1 != num5)
							{
								Console.WriteLine("required:" + TParserHive.yynrules.ToString() + " actually:" + (num5 - 1).ToString());
							}
						}
						else if (flag6)
						{
							flag6 = false;
							if (TParserHive.yynrules + 1 != num6)
							{
								Console.WriteLine("required:" + TParserHive.yynrules.ToString() + " actually:" + (num6 - 1).ToString());
							}
						}
						else if (flag7)
						{
							flag7 = false;
							if (TParserHive.yynstates != num7)
							{
								Console.WriteLine("required:" + TParserHive.yynstates.ToString() + " actually:" + num7.ToString());
							}
						}
						else if (flag8)
						{
							flag8 = false;
							if (TParserHive.yynstates != num8)
							{
								Console.WriteLine("required:" + TParserHive.yynstates.ToString() + " actually:" + num8.ToString());
							}
						}
						else if (flag9)
						{
							flag9 = false;
							if (TParserHive.yynstates != num9)
							{
								Console.WriteLine("required:" + TParserHive.yynstates.ToString() + " actually:" + num9.ToString());
							}
						}
						else if (flag10)
						{
							flag10 = false;
							if (TParserHive.yynstates != num10)
							{
								Console.WriteLine("required:" + TParserHive.yynstates.ToString() + " actually:" + num10.ToString());
							}
						}
						else if (flag11)
						{
							flag11 = false;
							if (TParserHive.yynstates != num11)
							{
								Console.WriteLine("required:" + TParserHive.yynstates.ToString() + " actually:" + num11.ToString());
							}
						}
					}
					else if (text.Trim().StartsWith("yya_sym =", StringComparison.Ordinal))
					{
						flag = true;
					}
					else if (text.Trim().StartsWith("yya_act =", StringComparison.Ordinal))
					{
						flag2 = true;
					}
					else if (text.Trim().StartsWith("yyg_sym =", StringComparison.Ordinal))
					{
						flag3 = true;
					}
					else if (text.Trim().StartsWith("yyg_act =", StringComparison.Ordinal))
					{
						flag4 = true;
					}
					else if (text.Trim().StartsWith("yyr_sym =", StringComparison.Ordinal))
					{
						flag5 = true;
					}
					else if (text.Trim().StartsWith("yyr_len =", StringComparison.Ordinal))
					{
						flag6 = true;
					}
					else if (text.Trim().StartsWith("yyd =", StringComparison.Ordinal))
					{
						flag7 = true;
					}
					else if (text.Trim().StartsWith("yyal =", StringComparison.Ordinal))
					{
						flag8 = true;
					}
					else if (text.Trim().StartsWith("yyah =", StringComparison.Ordinal))
					{
						flag9 = true;
					}
					else if (text.Trim().StartsWith("yygl =", StringComparison.Ordinal))
					{
						flag10 = true;
					}
					else if (text.Trim().StartsWith("yygh =", StringComparison.Ordinal))
					{
						flag11 = true;
					}
					else if (text.Trim().Length != 0)
					{
						if (flag)
						{
							string[] array = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int i = 0; i < array.Length; i++)
							{
								TParserHive.yya_sym[num++] = int.Parse(array[i].Trim());
							}
						}
						else if (flag2)
						{
							string[] array2 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int j = 0; j < array2.Length; j++)
							{
								TParserHive.yya_act[num2++] = int.Parse(array2[j].Trim());
							}
						}
						else if (flag3)
						{
							string[] array3 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int k = 0; k < array3.Length; k++)
							{
								TParserHive.yyg_sym[num3++] = int.Parse(array3[k].Trim());
							}
						}
						else if (flag4)
						{
							string[] array4 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int l = 0; l < array4.Length; l++)
							{
								TParserHive.yyg_act[num4++] = int.Parse(array4[l].Trim());
							}
						}
						else if (flag5)
						{
							string[] array5 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int m = 0; m < array5.Length; m++)
							{
								TParserHive.yyr_sym[num5++] = int.Parse(array5[m].Trim());
							}
						}
						else if (flag6)
						{
							string[] array6 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int n = 0; n < array6.Length; n++)
							{
								TParserHive.yyr_len[num6++] = int.Parse(array6[n].Trim());
							}
						}
						else if (flag7)
						{
							string[] array7 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int num12 = 0; num12 < array7.Length; num12++)
							{
								TParserHive.yyd[num7++] = int.Parse(array7[num12].Trim());
							}
						}
						else if (flag8)
						{
							string[] array8 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int num13 = 0; num13 < array8.Length; num13++)
							{
								TParserHive.yyal[num8++] = int.Parse(array8[num13].Trim());
							}
						}
						else if (flag9)
						{
							string[] array9 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int num14 = 0; num14 < array9.Length; num14++)
							{
								TParserHive.yyah[num9++] = int.Parse(array9[num14].Trim());
							}
						}
						else if (flag10)
						{
							string[] array10 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int num15 = 0; num15 < array10.Length; num15++)
							{
								TParserHive.yygl[num10++] = int.Parse(array10[num15].Trim());
							}
						}
						else if (flag11)
						{
							string[] array11 = text.Split(new char[]
							{
								','
							}, StringSplitOptions.RemoveEmptyEntries);
							for (int num16 = 0; num16 < array11.Length; num16++)
							{
								TParserHive.yygh[num11++] = int.Parse(array11[num16].Trim());
							}
						}
					}
				}
			}
			catch (IOException ex)
			{
				Console.WriteLine(ex.ToString());
			}
		}

		// Token: 0x060001A2 RID: 418 RVA: 0x0008AD1C File Offset: 0x00088F1C
		public override int yyparse()
		{
			int[] array = new int[this.yymaxdepth + 1];
			TDatabaseYYSType yyval = null;
			this.curtokenpos = 0;
			int num = this.dobefore_yyparse();
			if (num == -1)
			{
				return 0;
			}
			int num2 = 0;
			int num3 = 0;
			int num4 = -1;
			int num5 = 0;
			this.yysp = 0;
			bool flag = false;
			bool flag2 = false;
			bool flag3 = false;
			bool flag4 = false;
			int num6 = num3;
			int yysp = this.yysp;
			this.isbeginofbatch = true;
			for (;;)
			{
				this.yysp++;
				if (this.yysp > this.yymaxdepth)
				{
					break;
				}
				array[this.yysp] = num3;
				this.yyv[this.yysp] = this.yyval;
				int num7;
				int num8;
				for (;;)
				{
					if (TParserHive.yyd[num3] == 0 && num4 == -1)
					{
						do
						{
							num4 = this.yylexwrap(true);
							if (num4 < 0)
							{
								num4 = 0;
							}
						}
						while (num4 == 258 || num4 == 257 || num4 == 259 || num4 == 260 || num4 == 273);
						if (num4 == 0)
						{
							if (this.sourcetokenlist.get(this.sourcetokenlist.size() - 1).tokencode != 0)
							{
								this.yylval.yyTSourceToken = new TSourceToken(" ");
								this.yylval.yyTSourceToken.container = this.sourcetokenlist;
								this.yylval.yyTSourceToken.tokencode = 0;
								this.yylval.yyTSourceToken.posinlist = this.sourcetokenlist.size() - 1;
								this.curtokenpos = this.sourcetokenlist.size();
							}
							else
							{
								this.yylval.yyTSourceToken = this.sourcetokenlist.get(this.sourcetokenlist.size() - 1);
							}
						}
						this.currentsourcetoken = this.yylval.yyTSourceToken;
					}
					if (!flag)
					{
						num7 = TParserHive.yyd[num3];
						if (num7 != 0)
						{
							goto Block_13;
						}
						bool flag5 = this.yyact(num3, num4, this.retvalue);
						if (flag5)
						{
							num7 = this.retvalue[0];
						}
						if (flag5)
						{
							goto IL_36A;
						}
						num8 = this.aopAbort;
						bool flag6 = false;
						int num9 = 0;
						if (this.yylval.yyTSourceToken.tokencode >= 301 && this.yylval.yyTSourceToken.tokencode != 329 && this.yylval.yyTSourceToken.tokencode != 317)
						{
							this.yylval.yyTSourceToken.tokencode = 264;
							this.yylval.yyTSourceToken.tokentype = ETokenType.ttidentifier;
							num8 = this.aopContinue;
							num9 = 1;
						}
						else
						{
							num8 = this.aopAbort;
						}
						if (num8 == this.aopAbort)
						{
							flag = true;
						}
						if (!flag)
						{
							if (num8 == this.aopContinue && (this.recovertoken != null || num4 != 0 || (num4 == 0 && this.curtokenpos <= this.yylval.yyTSourceToken.container.size() - 1)))
							{
								this.curtokenpos -= num9;
								if (flag6)
								{
									if (num2 == 1)
									{
										num3 = num6;
										this.yysp--;
									}
									if (num2 == 2)
									{
										goto Block_27;
									}
									num2 = 0;
								}
								num4 = -1;
								num8 = this.aopAbort;
								continue;
							}
							flag = true;
						}
					}
					if (flag)
					{
						goto Block_30;
					}
				}
				IL_39D:
				if (flag2)
				{
					flag2 = false;
					continue;
				}
				if (flag4)
				{
					flag4 = false;
					num6 = num3;
					num2 = 1;
					yysp = this.yysp;
					yyval = this.yyval;
					if (num5 > 0 && num4 != this._error)
					{
						num5--;
					}
					num3 = num7;
					num4 = -1;
					this.yyval = new TDatabaseYYSType();
					this.yyval.copy(this.yylval);
					if (num > 0)
					{
						num--;
						continue;
					}
					continue;
				}
				else
				{
					if (!flag3)
					{
						continue;
					}
					flag3 = false;
					this.yyflag = this.yyfnone;
					this.yyval = new TDatabaseYYSType();
					this.yyaction(-num7);
					num2 = 2;
					this.yysp -= TParserHive.yyr_len[-num7];
					if (this.yygoto(array[this.yysp], TParserHive.yyr_sym[-num7], this.retvalue))
					{
						num7 = this.retvalue[0];
						num3 = num7;
					}
					switch (this.yyflag)
					{
					case 1:
						return 0;
					case 2:
						goto IL_49F;
					case 3:
						goto IL_509;
					default:
						continue;
					}
				}
				Block_13:
				flag3 = true;
				goto IL_39D;
				Block_27:
				num3 = num6;
				this.yyval = yyval;
				this.yysp = yysp - 1;
				num4 = -1;
				num8 = this.aopAbort;
				num2 = 0;
				flag2 = true;
				goto IL_39D;
				IL_36A:
				if (num7 > 0)
				{
					flag4 = true;
					goto IL_39D;
				}
				if (num7 < 0)
				{
					flag3 = true;
					goto IL_39D;
				}
				return 0;
			}
			this.onparseerrorhandle(EErrorType.spfatalerror, "yyparse stack overflow error 1010", this.currentsourcetoken.astext, this.currentsourcetoken.lineNo, this.currentsourcetoken.columnNo, 10010);
			return 10001;
			Block_30:
			this.geterrormsg(num3, num4, 10102);
			return 10102;
			IL_49F:
			this.onparseerrorhandle(EErrorType.spfatalerror, "yyfabort error 1004", this.currentsourcetoken.astext, this.currentsourcetoken.lineNo, this.currentsourcetoken.columnNo, 10015);
			this.onparseerrorhandle(EErrorType.spfatalabort, "abort !!! error 1001", this.currentsourcetoken.astext, this.currentsourcetoken.lineNo, this.currentsourcetoken.columnNo, 10014);
			return 10006;
			IL_509:
			this.onparseerrorhandle(EErrorType.spfatalerror, "error failed error 1000", this.currentsourcetoken.astext, this.currentsourcetoken.lineNo, this.currentsourcetoken.columnNo, 10016);
			return 10007;
		}

		// Token: 0x060001A3 RID: 419 RVA: 0x0008B26C File Offset: 0x0008946C
		internal override bool yygoto(int state, int sym, int[] nstate)
		{
			int num = TParserHive.yygl[state];
			while (num <= TParserHive.yygh[state] && TParserHive.yyg_sym[num] != sym)
			{
				num++;
			}
			bool result;
			if (num > TParserHive.yygh[state])
			{
				result = false;
			}
			else
			{
				nstate[0] = TParserHive.yyg_act[num];
				result = true;
			}
			return result;
		}

		// Token: 0x060001A4 RID: 420 RVA: 0x0008B2B8 File Offset: 0x000894B8
		internal override bool yyact(int state, int sym, int[] act)
		{
			int num = TParserHive.yyal[state];
			while (num <= TParserHive.yyah[state] && TParserHive.yya_sym[num] != sym)
			{
				num++;
			}
			bool result;
			if (num > TParserHive.yyah[state])
			{
				result = false;
			}
			else
			{
				act[0] = TParserHive.yya_act[num];
				result = true;
			}
			return result;
		}

		// Token: 0x060001A5 RID: 421 RVA: 0x0008B304 File Offset: 0x00089504
		internal override void yyaction(int yyruleno)
		{
			switch (yyruleno)
			{
			case 1:
				this.rootNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 2:
				this.rootNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 3:
				this.rootNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				return;
			case 4:
				this.rootNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				return;
			case 5:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveExplainSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 6:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveExplainSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 7:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveExplainSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 8:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveExplainSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 9:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 10:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 11:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 12:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 13:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 14:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 15:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 16:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_SetSqlNode.getId(), ESetStatementType.variable, new List<TSetAssignment>
				{
					(TSetAssignment)this.nf.createNode(ENodeType.T_SetAssignment.getId(), null, this.yyv[this.yysp].yyTParseTreeNode)
				});
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 17:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLoadSqlNode.getId(), null, null, this.nf.createObjectName(null, null, this.yyv[this.yysp - 3].yyTSourceToken), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 18:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLoadSqlNode.getId(), null, this.yyv[this.yysp - 3].yyTSourceToken, this.nf.createObjectName(null, null, this.yyv[this.yysp - 4].yyTSourceToken), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 19:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLoadSqlNode.getId(), this.yyv[this.yysp - 5].yyTSourceToken, null, this.nf.createObjectName(null, null, this.yyv[this.yysp - 3].yyTSourceToken), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 20:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLoadSqlNode.getId(), this.yyv[this.yysp - 6].yyTSourceToken, this.yyv[this.yysp - 3].yyTSourceToken, this.nf.createObjectName(null, null, this.yyv[this.yysp - 4].yyTSourceToken), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 8].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 21:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveExportSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 22:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveImportSqlNode.getId(), null, null, this.nf.createObjectName(null, null, this.yyv[this.yysp - 1].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 23:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveImportSqlNode.getId(), this.yyv[this.yysp - 5].yyTSourceToken, this.yyv[this.yysp - 3].yyTParseTreeNode, this.nf.createObjectName(null, null, this.yyv[this.yysp - 1].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 24:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 25:
				this.yyval.yyTSourceToken = null;
				return;
			case 26:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 27:
				this.yyval.yyTSourceToken = null;
				return;
			case 28:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 29:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 30:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 31:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 32:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 33:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 34:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 35:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 36:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 37:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 38:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 39:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 40:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 41:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 42:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 43:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 44:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 45:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 46:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 47:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 48:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 49:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 50:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 51:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 52:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 53:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 54:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 55:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 56:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 57:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 58:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 59:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 60:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 61:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 62:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 63:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_CreateDatabaseSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode);
				((TCreateDatabaseSqlNode)this.yyval.yyTParseTreeNode).setDatabase(this.yyv[this.yysp - 5].yyTSourceToken);
				((TCreateDatabaseSqlNode)this.yyval.yyTParseTreeNode).setIfNotExists(this.yyv[this.yysp - 4].yyTParseTreeNode != null);
				((TCreateDatabaseSqlNode)this.yyval.yyTParseTreeNode).setDatabaseComment(this.nf.createObjectName(null, null, this.yyv[this.yysp - 2].yyTSourceToken));
				((TCreateDatabaseSqlNode)this.yyval.yyTParseTreeNode).setDbLocation(this.nf.createObjectName(null, null, this.yyv[this.yysp - 1].yyTSourceToken));
				((TCreateDatabaseSqlNode)this.yyval.yyTParseTreeNode).setDbProperties((THiveWithDBPropertiesClause)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 64:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveWithDBPropertiesClause.getId(), (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 65:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 66:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 67:
				this.yyval.yyTSourceToken = null;
				return;
			case 68:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 69:
				this.yyval.yyTSourceToken = null;
				return;
			case 70:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 71:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 72:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 73:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 74:
				this.yyval.yyTSourceToken = this.yyv[this.yysp].yyTSourceToken;
				return;
			case 75:
				this.yyval.yyObject = this.yyv[this.yysp - 1].yyObject;
				return;
			case 76:
				this.yyval.yyObject = new List<THiveKeyValueProperty>
				{
					(THiveKeyValueProperty)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 77:
				((List<THiveKeyValueProperty>)this.yyv[this.yysp - 2].yyObject).Add((THiveKeyValueProperty)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 78:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveSwitchDBSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 79:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDropDBSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 80:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDropDBSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 81:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDropDBSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 82:
				this.yyval.yyTSourceToken = this.yyv[this.yysp].yyTSourceToken;
				return;
			case 83:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 84:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 85:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 86:
				this.yyval.yyTSourceToken = null;
				return;
			case 87:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 88:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 89:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 90:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 91:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 92:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 93:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 94:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 95:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 96:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 97:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 98:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 99:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_TableElement.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 100:
				((TTableElementList)this.yyv[this.yysp - 2].yyTParseTreeNodeList).addTableElement((TTableElement)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNodeList = this.yyv[this.yysp - 2].yyTParseTreeNodeList;
				return;
			case 101:
				this.yyval.yyTParseTreeNodeList = (TTableElementList)this.nf.createNode(ENodeType.T_TableElementList.getId(), (TTableElement)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 102:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNodeList;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 103:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 104:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_CreateTableSqlNode.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setExternal(this.yyv[this.yysp - 7].yyTSourceToken != null);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setIfNotExists(this.yyv[this.yysp - 5].yyTParseTreeNode != null);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setLikeTableName((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setTableLocation(this.nf.createObjectName(null, null, this.yyv[this.yysp - 1].yyTSourceToken));
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setHiveTableProperties((THiveTableProperties)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 8].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 105:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_CreateTableSqlNode.getId(), this.yyv[this.yysp - 10].yyTParseTreeNode);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setExternal(this.yyv[this.yysp - 13].yyTSourceToken != null);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setIfNotExists(this.yyv[this.yysp - 11].yyTParseTreeNode != null);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setTableElementList((TTableElementList)this.yyv[this.yysp - 9].yyTParseTreeNode);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setTableComment(this.nf.createObjectName(null, null, this.yyv[this.yysp - 8].yyTSourceToken));
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setHiveTablePartition((THiveTablePartition)this.yyv[this.yysp - 7].yyTParseTreeNode);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setHiveTableBuckets((THiveTableBuckets)this.yyv[this.yysp - 6].yyTParseTreeNode);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).setHiveTableSkewed((THiveTableSkewed)this.yyv[this.yysp - 5].yyTParseTreeNode);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).HiveRowFormat = (THiveRowFormat)this.yyv[this.yysp - 4].yyTParseTreeNode;
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).HiveTableFileFormat = (THiveTableFileFormat)this.yyv[this.yysp - 3].yyTParseTreeNode;
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).TableLocation = this.nf.createObjectName(null, null, this.yyv[this.yysp - 2].yyTSourceToken);
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).HiveTableProperties = (THiveTableProperties)this.yyv[this.yysp - 1].yyTParseTreeNode;
				((TCreateTableSqlNode)this.yyval.yyTParseTreeNode).SubQueryNode = (TSelectSqlNode)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 14].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 10].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 9].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 8].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 106:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_TruncateTableSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 107:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_TruncateTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 108:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_TruncateTableSqlNode.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 109:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_TruncateTableSqlNode.getId(), this.yyv[this.yysp - 5].yyTParseTreeNode, this.yyv[this.yysp - 4].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 110:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 111:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 112:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 113:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 114:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 115:
				this.yyval.yyTSourceToken = null;
				return;
			case 116:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_CreateIndexSqlNode.getId(), this.yyv[this.yysp - 16].yyTParseTreeNode);
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).TableName = (TObjectName)this.yyv[this.yysp - 13].yyTParseTreeNode;
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).ColumnNameList = (TOrderByItemList)this.yyv[this.yysp - 11].yyTParseTreeNode;
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).AsTypeName = this.nf.createObjectName(null, null, this.yyv[this.yysp - 8].yyTSourceToken);
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).DeferredRebuildIndex = (this.yyv[this.yysp - 7].yyTParseTreeNode != null);
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).IndexProperties = (THiveIndexProperties)this.yyv[this.yysp - 6].yyTParseTreeNode;
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).InTableName = (TObjectName)this.yyv[this.yysp - 5].yyTParseTreeNode;
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).TableRowFormat = (THiveRowFormat)this.yyv[this.yysp - 4].yyTParseTreeNode;
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).TableFileFormat = (THiveTableFileFormat)this.yyv[this.yysp - 3].yyTParseTreeNode;
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).TableLocation = this.nf.createObjectName(null, null, this.yyv[this.yysp - 2].yyTSourceToken);
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).TableProperties = (THiveTableProperties)this.yyv[this.yysp - 1].yyTParseTreeNode;
				((TCreateIndexSqlNode)this.yyval.yyTParseTreeNode).IndexComment = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 18].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 8].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 117:
				this.yyval.yyTSourceToken = this.yyv[this.yysp].yyTSourceToken;
				return;
			case 118:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 119:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 120:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveIndexProperties.getId(), (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 121:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 122:
				this.yyval.yyObject = this.yyv[this.yysp - 1].yyObject;
				return;
			case 123:
				this.yyval.yyObject = new List<THiveKeyValueProperty>
				{
					(THiveKeyValueProperty)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 124:
				((List<THiveKeyValueProperty>)this.yyv[this.yysp - 2].yyObject).Add((THiveKeyValueProperty)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 125:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_DropIndexSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 126:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_DropTableSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				((TDropTableSqlNode)this.yyval.yyTParseTreeNode).IfExists = (this.yyv[this.yysp - 1].yyTParseTreeNode != null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 127:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.RenameTable);
				((TAlterTableOption)this.tmpnode).NewTableName = (TObjectName)this.yyv[this.yysp].yyTParseTreeNode;
				this.tmpnode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 128:
				if (this.yyv[this.yysp - 4].yyTSourceToken.tokencode == 428)
				{
					this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.AddColumn, this.yyv[this.yysp - 1].yyTParseTreeNode);
				}
				else
				{
					this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.replaceColumn, this.yyv[this.yysp - 1].yyTParseTreeNode);
				}
				this.tmpnode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 5].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 129:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.ChangeColumn, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 5].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 130:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.dropPartitionSpecList, (List<TPartitionExtensionClause>)this.yyv[this.yysp - 1].yyObject);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.tmpnode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp - 1].yyObject);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp - 1].yyObject);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 131:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.addPartitionSpecList, (List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.tmpnode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				return;
			case 132:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.touch);
				this.tmpnode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 133:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.touch, (List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				return;
			case 134:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.archive);
				this.tmpnode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 135:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.archive, (List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				return;
			case 136:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.unArchive);
				this.tmpnode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 137:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.unArchive, (List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				return;
			case 138:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.setTableProperties, (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.tmpnode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 139:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.unsetTableProperties, (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.tmpnode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 140:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.setFileFormat, this.yyv[this.yysp].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 141:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.setFileFormat, this.yyv[this.yysp].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 3].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 142:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.setLocation, this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.tmpnode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 143:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.setLocation, this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.tmpnode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 3].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 144:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.enableAlterProtectModeMode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 145:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.enableAlterProtectModeMode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 2].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 146:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.disableAlterProtectModeMode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 2].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 147:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.disableAlterProtectModeMode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 148:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.concatenate);
				this.tmpnode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 149:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.concatenate);
				this.tmpnode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 150:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 151:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 152:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 153:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 154:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 155:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 156:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 157:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 158:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 159:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.yyv[this.yysp].yyTParseTreeNode));
				((TAlterTableSqlNode)this.yyval.yyTParseTreeNode).PartitionSpec = (TPartitionExtensionClause)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 160:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.partitionColumn, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 5].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 161:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.tableSkewed, this.yyv[this.yysp].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 162:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.notSkewed);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 163:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.notStoredAsDirs);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 164:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.exchangePartition, this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 5].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 165:
				this.tmpnode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.recoverPartitions);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (TAlterTableOptionList)this.nf.createNode(ENodeType.T_AlterTableOptionList.getId(), (TAlterTableOption)this.tmpnode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 166:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterViewSqlNode.getId(), EAlterViewOption.setTableProperties, this.yyv[this.yysp - 3].yyTParseTreeNode, (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 167:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterViewSqlNode.getId(), EAlterViewOption.unsetTableProperties, this.yyv[this.yysp - 4].yyTParseTreeNode, (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 168:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterViewSqlNode.getId(), EAlterViewOption.rename, this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 169:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterViewSqlNode.getId(), EAlterViewOption.addPartitionSpecs, this.yyv[this.yysp - 3].yyTParseTreeNode, (List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				return;
			case 170:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterViewSqlNode.getId(), EAlterViewOption.dropPartitionSpecs, this.yyv[this.yysp - 4].yyTParseTreeNode, (List<TPartitionExtensionClause>)this.yyv[this.yysp - 1].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp - 1].yyObject);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 171:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterViewSqlNode.getId(), EAlterViewOption.asSelect, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 172:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterIndexSqlNode.getId(), EAlterIndexOption.rebuild, this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				return;
			case 173:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterIndexSqlNode.getId(), EAlterIndexOption.setProperties, this.yyv[this.yysp - 5].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTParseTreeNode, (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 174:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterIndexSqlNode.getId(), EAlterIndexOption.rebuild, this.yyv[this.yysp - 4].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 175:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterIndexSqlNode.getId(), EAlterIndexOption.setProperties, this.yyv[this.yysp - 6].yyTParseTreeNode, this.yyv[this.yysp - 4].yyTParseTreeNode, (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject, this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 8].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 176:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterDatabaseSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 177:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 178:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 179:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 180:
				this.yyval.yyTSourceToken = null;
				return;
			case 181:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 182:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 183:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 184:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 185:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 186:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 187:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 188:
				this.yyval.yyTSourceToken = null;
				return;
			case 189:
				this.yyval.yyObject = new List<TPartitionExtensionClause>
				{
					(TPartitionExtensionClause)this.yyv[this.yysp - 1].yyTParseTreeNode
				};
				return;
			case 190:
				((List<TPartitionExtensionClause>)this.yyv[this.yysp - 2].yyObject).Add((TPartitionExtensionClause)this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 191:
				this.yyval.yyTSourceToken = this.yyv[this.yysp].yyTSourceToken;
				return;
			case 192:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 193:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 194:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.serde, this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 195:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.serde, this.nf.createObjectName(null, null, this.yyv[this.yysp - 3].yyTSourceToken), (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 196:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.serde, null, (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 197:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.notClustered);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 198:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.notSorted);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 199:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.clusteredSorted, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 200:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.skewedLocation, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 201:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 202:
				this.yyval.yyTParseTreeNode = (TExpressionList)this.nf.createNode(ENodeType.T_ExpressionList.getId(), (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 203:
				((TExpressionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addExpression((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 204:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.assignment_t, this.yyv[this.yysp - 1].yyTSourceToken, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, this.nf.createSimpleExpression(this.yyv[this.yysp].yyTSourceToken));
				((TExpression)this.yyval.yyTParseTreeNode).ComparisonOperator = this.yyv[this.yysp - 1].yyTSourceToken;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 205:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.renamePartition, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 206:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 207:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 208:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 209:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 210:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AlterTableOption.getId(), EAlterTableOptionType.tableBuckets, this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_Integer));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 211:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTBLSEQUENCEFILE);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 212:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTBLTEXTFILE);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 213:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTBLRCFILE);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 214:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTBLORCFILE);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 215:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTABLEFILEFORMAT, this.nf.createObjectName(null, null, this.yyv[this.yysp - 2].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 216:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTABLEFILEFORMAT, this.nf.createObjectName(null, null, this.yyv[this.yysp - 6].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp - 4].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp - 2].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 217:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffFILEFORMAT_GENERIC, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 218:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 219:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 220:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 221:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 222:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 223:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 224:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 225:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 226:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 227:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 228:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTabType.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 229:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTablePartition.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 230:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTablePartition.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 231:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescTablePartition.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 232:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 233:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 234:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 235:
				this.yyval.yyTSourceToken = null;
				return;
			case 236:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 237:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 238:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 239:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescribeSqlNode.getId(), EHiveDescribleType.dtTablePartition, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 240:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescribeSqlNode.getId(), EHiveDescribleType.dtTablePartition, this.yyv[this.yysp].yyTParseTreeNode);
				((THiveDescribeSqlNode)this.yyval.yyTParseTreeNode).setDescOption(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 241:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescribeSqlNode.getId(), EHiveDescribleType.dtFunction, this.yyv[this.yysp].yyTParseTreeNode);
				((THiveDescribeSqlNode)this.yyval.yyTParseTreeNode).setDescOption(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 242:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDescribeSqlNode.getId(), EHiveDescribleType.dtDatabase, this.yyv[this.yysp].yyTParseTreeNode);
				((THiveDescribeSqlNode)this.yyval.yyTParseTreeNode).setDescOption(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 243:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveAnalyzeSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 244:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveAnalyzeSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp].yyTSourceToken, null, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 245:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveAnalyzeSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, null, this.yyv[this.yysp].yyTSourceToken, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 246:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveAnalyzeSqlNode.getId(), this.yyv[this.yysp - 5].yyTParseTreeNode, null, null, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 247:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 248:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 249:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 250:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 251:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 252:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 253:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 254:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 255:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 256:
				this.yyval.yyTSourceToken = null;
				return;
			case 257:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 258:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 259:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stDatabase, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 260:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stTables, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 261:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stTables, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 262:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stTables, this.yyv[this.yysp].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 263:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stTables, this.yyv[this.yysp].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 264:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stColumns, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 265:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stColumns, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 266:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stFunctions, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 267:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stPartitions, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 268:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stCreateTable, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 269:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stTableStatus, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 270:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stTableStatus, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 271:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stTableProperties, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 272:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stTableProperties, this.yyv[this.yysp - 3].yyTParseTreeNode, this.nf.createObjectName(null, null, this.yyv[this.yysp - 1].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 273:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stLocks, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 274:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stLocks, this.yyv[this.yysp].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 275:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stIndexes, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 276:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowSqlNode.getId(), EHiveShowType.stIndexes, this.yyv[this.yysp - 5].yyTSourceToken, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 277:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLockSqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 278:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 279:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 280:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLockSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 281:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveCreateRoleSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 282:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDropRoleSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 283:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveGrantSqlNode.getId(), (List<THivePrivilegeDef>)this.yyv[this.yysp - 2].yyObject, (List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THivePrincipalName>((List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				return;
			case 284:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveGrantSqlNode.getId(), (List<THivePrivilegeDef>)this.yyv[this.yysp - 5].yyObject, (List<THivePrincipalName>)this.yyv[this.yysp].yyObject, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THivePrincipalName>((List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				return;
			case 285:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveGrantSqlNode.getId(), (List<THivePrivilegeDef>)this.yyv[this.yysp - 5].yyObject, (List<THivePrincipalName>)this.yyv[this.yysp - 3].yyObject);
				((THiveGrantSqlNode)this.yyval.yyTParseTreeNode).WithOption = true;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 286:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveGrantSqlNode.getId(), (List<THivePrivilegeDef>)this.yyv[this.yysp - 8].yyObject, (List<THivePrincipalName>)this.yyv[this.yysp - 3].yyObject, this.yyv[this.yysp - 6].yyTSourceToken, this.yyv[this.yysp - 5].yyTParseTreeNode);
				((THiveGrantSqlNode)this.yyval.yyTParseTreeNode).WithOption = true;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 9].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 287:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveGrantSqlNode.getId(), (List<THivePrivilegeDef>)this.yyv[this.yysp - 2].yyObject, (List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				((THiveGrantSqlNode)this.yyval.yyTParseTreeNode).Revoke = true;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THivePrincipalName>((List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				return;
			case 288:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveGrantSqlNode.getId(), (List<THivePrivilegeDef>)this.yyv[this.yysp - 5].yyObject, (List<THivePrincipalName>)this.yyv[this.yysp].yyObject, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((THiveGrantSqlNode)this.yyval.yyTParseTreeNode).Revoke = true;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THivePrincipalName>((List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				return;
			case 289:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveGrantRoleSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THivePrincipalName>((List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				return;
			case 290:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveGrantRoleSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, (List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				((THiveGrantRoleSqlNode)this.yyval.yyTParseTreeNode).Revoke = true;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THivePrincipalName>((List<THivePrincipalName>)this.yyv[this.yysp].yyObject);
				return;
			case 291:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowRoleGrantSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 292:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowGrantSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 293:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowGrantSqlNode.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 294:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveShowGrantSqlNode.getId(), this.yyv[this.yysp - 7].yyTParseTreeNode, this.yyv[this.yysp - 5].yyTSourceToken, this.yyv[this.yysp - 4].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 9].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 295:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 296:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 297:
				this.yyval.yyObject = new List<THivePrivilegeDef>
				{
					(THivePrivilegeDef)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 298:
				((List<THivePrivilegeDef>)this.yyv[this.yysp - 2].yyObject).Add((THivePrivilegeDef)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 299:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HivePrivilegeDef.getId(), this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 300:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HivePrivilegeDef.getId(), this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 301:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 302:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 303:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 304:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 305:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 306:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 307:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 308:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 309:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 310:
				this.yyval.yyObject = new List<THivePrincipalName>
				{
					(THivePrincipalName)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 311:
				((List<THivePrincipalName>)this.yyv[this.yysp - 2].yyObject).Add((THivePrincipalName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 312:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HivePrincipalName.getId(), EHivePrincipalType.user, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 313:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HivePrincipalName.getId(), EHivePrincipalType.group, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 314:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HivePrincipalName.getId(), EHivePrincipalType.role, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 315:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 316:
				this.yyval.yyTSourceToken = null;
				return;
			case 317:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveMetastoreCheckSqlNode.getId(), this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 318:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveMetastoreCheckSqlNode.getId(), this.yyv[this.yysp - 2].yyTSourceToken, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 319:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveMetastoreCheckSqlNode.getId(), this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode, (List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<TPartitionExtensionClause>((List<TPartitionExtensionClause>)this.yyv[this.yysp].yyObject);
				return;
			case 320:
				this.yyval.yyObject = new List<TPartitionExtensionClause>
				{
					(TPartitionExtensionClause)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 321:
				((List<TPartitionExtensionClause>)this.yyv[this.yysp - 2].yyObject).Add((TPartitionExtensionClause)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 322:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_CreateFunctionSqlNode.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 323:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDropFunctionSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 324:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 325:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 326:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_CreateViewSqlNode.getId(), this.yyv[this.yysp - 6].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				((TCreateViewSqlNode)this.yyval.yyTParseTreeNode).setViewAliasClause((TViewAliasClause)this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 10].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 327:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				return;
			case 328:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_DropViewSqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 329:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 330:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 331:
				this.yyval.yyTSourceToken = this.yyv[this.yysp].yyTSourceToken;
				return;
			case 332:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTablePartition.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 333:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableBuckets.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode, this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_Integer));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 334:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableBuckets.getId(), this.yyv[this.yysp - 9].yyTParseTreeNode, this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_Integer), this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 12].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 335:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableSkewed.getId(), this.yyv[this.yysp - 5].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 8].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 336:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableSkewed.getId(), this.yyv[this.yysp - 6].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 9].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 337:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 338:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 339:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 340:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveRecordReader.getId(), this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 341:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 342:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveRecordWriter.getId(), this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 343:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 344:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveRowFormat.getId(), this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				((THiveRowFormat)this.yyval.yyTParseTreeNode).RowFormatType = THiveRowFormat.ERowFormatType.serde;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 345:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveRowFormat.getId(), this.nf.createObjectName(null, null, this.yyv[this.yysp - 3].yyTSourceToken), (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				((THiveRowFormat)this.yyval.yyTParseTreeNode).RowFormatType = THiveRowFormat.ERowFormatType.serde;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 346:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 347:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 348:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 349:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 350:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 351:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 352:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 353:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 354:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveRowFormat.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				((THiveRowFormat)this.yyval.yyTParseTreeNode).RowFormatType = THiveRowFormat.ERowFormatType.delimited;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 355:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 356:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 357:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableProperties.getId(), (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 358:
				this.yyval.yyObject = this.yyv[this.yysp - 1].yyObject;
				return;
			case 359:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 360:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 361:
				this.yyval.yyObject = new List<THiveKeyValueProperty>
				{
					(THiveKeyValueProperty)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 362:
				((List<THiveKeyValueProperty>)this.yyv[this.yysp - 2].yyObject).Add((THiveKeyValueProperty)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 363:
				this.yyval.yyObject = new List<THiveKeyValueProperty>
				{
					(THiveKeyValueProperty)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 364:
				((List<THiveKeyValueProperty>)this.yyv[this.yysp - 2].yyObject).Add((THiveKeyValueProperty)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 365:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveKeyValueProperty.getId(), this.yyv[this.yysp - 2].yyTSourceToken, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 366:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveKeyValueProperty.getId(), this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 367:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTerminatedIdentifier.getId(), this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 368:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTerminatedIdentifier.getId(), this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 369:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTerminatedIdentifier.getId(), this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 370:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTerminatedIdentifier.getId(), this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 371:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTerminatedIdentifier.getId(), this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 372:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTBLSEQUENCEFILE);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 373:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTBLTEXTFILE);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 374:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTBLRCFILE);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 375:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTBLORCFILE);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 376:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTABLEFILEFORMAT, this.nf.createObjectName(null, null, this.yyv[this.yysp - 2].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 377:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffTABLEFILEFORMAT, this.nf.createObjectName(null, null, this.yyv[this.yysp - 6].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp - 4].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp - 2].yyTSourceToken), this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 9].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 378:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffSTORAGEHANDLER, this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 379:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffSTORAGEHANDLER, this.nf.createObjectName(null, null, this.yyv[this.yysp - 3].yyTSourceToken), (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 380:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTableFileFormat.getId(), EHiveStoredFileFormat.sffFILEFORMAT_GENERIC, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 381:
				this.yyval.yyTSourceToken = this.yyv[this.yysp].yyTSourceToken;
				return;
			case 382:
				this.yyval.yyTParseTreeNode = (TColumnDefinitionList)this.nf.createNode(ENodeType.T_ColumnDefinitionList.getId(), (TColumnDefinition)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 383:
				((TColumnDefinitionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addColumn((TColumnDefinition)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 384:
				this.yyval.yyTParseTreeNode = (TColumnDefinitionList)this.nf.createNode(ENodeType.T_ColumnDefinitionList.getId(), (TColumnDefinition)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 385:
				((TColumnDefinitionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addColumn((TColumnDefinition)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 386:
				this.yyval.yyTParseTreeNode = (TObjectNameList)this.nf.createNode(ENodeType.T_ObjectNameList.getId(), (TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 387:
				((TObjectNameList)this.yyv[this.yysp - 2].yyTParseTreeNode).addObjectName((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 388:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 389:
				this.yyval.yyTParseTreeNode = (TOrderByItemList)this.nf.createNode(ENodeType.T_OrderByItemList.getId(), (TOrderByItem)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 390:
				((TOrderByItemList)this.yyv[this.yysp - 2].yyTParseTreeNode).addOrderByItem((TOrderByItem)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 391:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 392:
				((TOrderByItemList)this.yyv[this.yysp - 2].yyTParseTreeNode).addOrderByItem((TOrderByItem)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 393:
				this.yyval.yyTParseTreeNode = (TOrderByItemList)this.nf.createNode(ENodeType.T_OrderByItemList.getId(), (TOrderByItem)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 394:
				this.tmpnode = this.nf.createSimpleExpression((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_OrderByItem.getId(), this.tmpnode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 395:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 396:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 397:
				this.yyval.yyTParseTreeNode = (TExpressionList)this.nf.createNode(ENodeType.T_ExpressionList.getId(), (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 398:
				((TExpressionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addExpression((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 399:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.list_t, null, this.yyv[this.yysp - 1].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 400:
				this.yyval.yyTParseTreeNode = (TExpressionList)this.nf.createNode(ENodeType.T_ExpressionList.getId(), (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 401:
				((TExpressionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addExpression((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 402:
				this.yyval.yyTParseTreeNode = this.nf.createSimpleExpression((TConstant)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 403:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 404:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 405:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_OrderByItem.getId(), this.nf.createSimpleExpression((TObjectName)this.yyv[this.yysp].yyTParseTreeNode));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 406:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_OrderByItem.getId(), this.nf.createSimpleExpression((TObjectName)this.yyv[this.yysp - 1].yyTParseTreeNode));
				((TOrderByItem)this.yyval.yyTParseTreeNode).setSortTypeByToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 407:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_OrderByItem.getId(), this.nf.createSimpleExpression((TObjectName)this.yyv[this.yysp - 1].yyTParseTreeNode));
				((TOrderByItem)this.yyval.yyTParseTreeNode).setSortTypeByToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 408:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ViewAliasClause.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 409:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 410:
				this.yyval.yyTParseTreeNode = (TViewAliasItemList)this.nf.createNode(ENodeType.T_ViewAliasItemList.getId(), (TViewAliasItem)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 411:
				((TViewAliasItemList)this.yyv[this.yysp - 2].yyTParseTreeNode).addViewAliasItem((TViewAliasItem)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 412:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ViewAliasItem.getId(), this.yyv[this.yysp].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 413:
				this.tmpnode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				((TObjectName)this.tmpnode).CommentString = this.yyv[this.yysp].yyTSourceToken;
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ViewAliasItem.getId(), this.tmpnode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 414:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_OrderByItem.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 415:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_OrderByItem.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TOrderByItem)this.yyval.yyTParseTreeNode).setSortTypeByToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 416:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_OrderByItem.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TOrderByItem)this.yyval.yyTParseTreeNode).setSortTypeByToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 417:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ColumnDefinition.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 418:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ColumnDefinition.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTParseTreeNode, null);
				((TColumnDefinition)this.yyval.yyTParseTreeNode).Comment = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 419:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ColumnDefinition.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 420:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ColumnDefinition.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 421:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 422:
				this.yyval.yyObject = new List<TTypeName>
				{
					(TTypeName)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 423:
				((List<TTypeName>)this.yyv[this.yysp - 2].yyObject).Add((TTypeName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 424:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 425:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 426:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 427:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 428:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 429:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.tinyint_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 430:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.smallint_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 431:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.int_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 432:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.bigint_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 433:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.boolean_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 434:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.float_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 435:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.double_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 436:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.date_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 437:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.datetime_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 438:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.timestamp_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 439:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.string_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 440:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.binary_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 441:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.dec_t, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				return;
			case 442:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.int_t);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 443:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.varchar_t, this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_Integer));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 444:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.varchar_t, this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_Integer));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 445:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_PrecisionScale.getId(), this.nf.createConstant(this.yyv[this.yysp - 3].yyTSourceToken, ENodeType.T_Constant_Integer), this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_Integer));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 446:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_PrecisionScale.getId(), this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_Integer), null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 447:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 448:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.listType_t);
				((TTypeName)this.yyval.yyTParseTreeNode).TypeOfList = (TTypeName)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 449:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.structType_t);
				((TTypeName)this.yyval.yyTParseTreeNode).ColumnDefList = (TColumnDefinitionList)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 450:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.mapType_t);
				((TTypeName)this.yyval.yyTParseTreeNode).PrimitiveTypeOfMap = (TTypeName)this.yyv[this.yysp - 3].yyTParseTreeNode;
				((TTypeName)this.yyval.yyTParseTreeNode).TypeOfMap = (TTypeName)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 451:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Typename.getId(), EDataType.unionType_t);
				((TTypeName)this.yyval.yyTParseTreeNode).ColTypeList = (List<TTypeName>)this.yyv[this.yysp - 1].yyObject;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 452:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 453:
				if (this.yyv[this.yysp - 3].yyTParseTreeNode is THiveFromQuerySqlNode)
				{
					this.yyv[this.yysp - 3].yyTParseTreeNode = ((THiveFromQuerySqlNode)this.yyv[this.yysp - 3].yyTParseTreeNode).convertToSelect();
				}
				if (this.yyv[this.yysp].yyTParseTreeNode is THiveFromQuerySqlNode)
				{
					this.yyv[this.yysp].yyTParseTreeNode = ((THiveFromQuerySqlNode)this.yyv[this.yysp].yyTParseTreeNode).convertToSelect();
				}
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_SelectSqlNode.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				if (this.yyv[this.yysp - 1].yyTSourceToken == null)
				{
					((TSelectSqlNode)this.yyval.yyTParseTreeNode).setSetOperator(1);
				}
				else
				{
					((TSelectSqlNode)this.yyval.yyTParseTreeNode).setSetOperator(2);
				}
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 454:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 455:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 456:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 457:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 458:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveFromQuerySqlNode.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, (List<TParseTreeNode>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken<TParseTreeNode>((List<TParseTreeNode>)this.yyv[this.yysp].yyObject);
				return;
			case 459:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveFromQuerySqlNode.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 460:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 461:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 462:
				this.yyval.yyObject = new List<TParseTreeNode>
				{
					this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 463:
				((List<TParseTreeNode>)this.yyv[this.yysp - 1].yyObject).Add(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 1].yyObject;
				return;
			case 464:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 465:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 466:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 467:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 468:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 469:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 470:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 471:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 472:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 473:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 474:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 475:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 476:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 477:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 478:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 479:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 480:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 10].yyTParseTreeNode;
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setFromTableList((TFromTableList)this.yyv[this.yysp - 8].yyTParseTreeNode);
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setWhereCondition((TWhereClause)this.yyv[this.yysp - 7].yyTParseTreeNode);
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setGroupByClause((TGroupBy)this.yyv[this.yysp - 6].yyTParseTreeNode);
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setOrderbyClause((TOrderBy)this.yyv[this.yysp - 5].yyTParseTreeNode);
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).HiveClusterBy = (THiveClusterBy)this.yyv[this.yysp - 4].yyTParseTreeNode;
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).DistributeBy = (THiveDistributeBy)this.yyv[this.yysp - 3].yyTParseTreeNode;
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).SortBy = (THiveSortBy)this.yyv[this.yysp - 2].yyTParseTreeNode;
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setWindowClause((TWindowClause)this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setLimitClause((TLimitClause)this.yyv[this.yysp].yyTParseTreeNode);
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).SubQueryNode = (TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode;
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 8].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 8].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 481:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).SubQueryNode = (TSelectSqlNode)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 482:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 483:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 9].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setFromTableList((TFromTableList)this.yyv[this.yysp - 8].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setWhereCondition((TWhereClause)this.yyv[this.yysp - 7].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setGroupByClause((TGroupBy)this.yyv[this.yysp - 6].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setOrderbyClause((TOrderBy)this.yyv[this.yysp - 5].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).HiveClusterBy = (THiveClusterBy)this.yyv[this.yysp - 4].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).DistributeBy = (THiveDistributeBy)this.yyv[this.yysp - 3].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).SortBy = (THiveSortBy)this.yyv[this.yysp - 2].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setWindowClause((TWindowClause)this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setLimitClause((TLimitClause)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 8].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 484:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 485:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 10].yyTParseTreeNode;
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).LateralView = (THiveLateralView)this.yyv[this.yysp - 8].yyTParseTreeNode;
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setWhereCondition((TWhereClause)this.yyv[this.yysp - 7].yyTParseTreeNode);
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setGroupByClause((TGroupBy)this.yyv[this.yysp - 6].yyTParseTreeNode);
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setOrderbyClause((TOrderBy)this.yyv[this.yysp - 5].yyTParseTreeNode);
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).HiveClusterBy = (THiveClusterBy)this.yyv[this.yysp - 4].yyTParseTreeNode;
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).DistributeBy = (THiveDistributeBy)this.yyv[this.yysp - 3].yyTParseTreeNode;
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).SortBy = (THiveSortBy)this.yyv[this.yysp - 2].yyTParseTreeNode;
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setWindowClause((TWindowClause)this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode).setLimitClause((TLimitClause)this.yyv[this.yysp].yyTParseTreeNode);
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).SubQueryNode = (TSelectSqlNode)this.yyv[this.yysp - 9].yyTParseTreeNode;
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 8].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyv[this.yysp - 9].yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 9].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 8].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 486:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 9].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).LateralView = (THiveLateralView)this.yyv[this.yysp - 8].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setWhereCondition((TWhereClause)this.yyv[this.yysp - 7].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setGroupByClause((TGroupBy)this.yyv[this.yysp - 6].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setOrderbyClause((TOrderBy)this.yyv[this.yysp - 5].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).HiveClusterBy = (THiveClusterBy)this.yyv[this.yysp - 4].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).DistributeBy = (THiveDistributeBy)this.yyv[this.yysp - 3].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).SortBy = (THiveSortBy)this.yyv[this.yysp - 2].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setWindowClause((TWindowClause)this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setLimitClause((TLimitClause)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 8].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 487:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_InsertSqlNode.getId(), this.nf.createObjectNameWithPart(this.yyv[this.yysp - 3].yyTSourceToken));
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).setInsertToken(this.yyv[this.yysp - 7].yyTSourceToken);
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).HiveInsertType = EHiveInsertType.overwriteLocalDirectory;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 488:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_InsertSqlNode.getId(), this.nf.createObjectNameWithPart(this.yyv[this.yysp - 1].yyTSourceToken));
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).setInsertToken(this.yyv[this.yysp - 4].yyTSourceToken);
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).HiveInsertType = EHiveInsertType.overwriteDirectory;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 489:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_InsertSqlNode.getId());
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).setInsertToken(this.yyv[this.yysp - 4].yyTSourceToken);
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).HiveInsertType = EHiveInsertType.overwriteTable;
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).setTargetTable((TFromTable)this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 490:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_InsertSqlNode.getId());
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).setInsertToken(this.yyv[this.yysp - 3].yyTSourceToken);
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).HiveInsertType = EHiveInsertType.intoTable;
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).setTargetTable((TFromTable)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 491:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_InsertSqlNode.getId());
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).setInsertToken(this.yyv[this.yysp - 2].yyTSourceToken);
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).HiveInsertType = EHiveInsertType.intoTable;
				((TInsertSqlNode)this.yyval.yyTParseTreeNode).setTargetTable((TFromTable)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 492:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_LimitClause.getId(), this.nf.createSimpleExpression(this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken)), null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 493:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_SelectSqlNode.getId());
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setSelectToken(this.yyv[this.yysp - 3].yyTSourceToken);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).HiveHintClause = (THiveHintClause)this.yyv[this.yysp - 2].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setSelectDistinct((TSelectDistinct)this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setResultColumnList((TResultColumnList)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 494:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_SelectSqlNode.getId());
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).setSelectToken(this.yyv[this.yysp - 3].yyTSourceToken);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).HiveHintClause = (THiveHintClause)this.yyv[this.yysp - 2].yyTParseTreeNode;
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).TransformClause = (THiveTransformClause)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 495:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_SelectSqlNode.getId());
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).TransformClause = (THiveTransformClause)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 496:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_SelectDistinct.getId());
				((TSelectDistinct)this.yyval.yyTParseTreeNode).setDistinctType(1);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 497:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_SelectDistinct.getId());
				((TSelectDistinct)this.yyval.yyTParseTreeNode).setDistinctType(3);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 498:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 499:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 500:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 501:
				this.yyval.yyTParseTreeNode = (TResultColumnList)this.nf.createNode(ENodeType.T_ResultColumnList.getId(), (TResultColumn)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 502:
				((TResultColumnList)this.yyv[this.yysp - 2].yyTParseTreeNode).addResultColumn((TResultColumn)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 503:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTransformClause.getId(), this.yyv[this.yysp - 8].yyTParseTreeNode, this.yyv[this.yysp - 6].yyTParseTreeNode, this.yyv[this.yysp - 5].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				if (this.yyv[this.yysp - 2].yyTParseTreeNode != null)
				{
					((THiveTransformClause)this.yyval.yyTParseTreeNode).AliasClause = (TAliasClause)this.yyv[this.yysp - 2].yyTParseTreeNode;
				}
				((THiveTransformClause)this.yyval.yyTParseTreeNode).TransformType = THiveTransformClause.ETransformType.ettSelect;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 9].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 504:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveHintClause.getId(), (List<THiveHintItem>)this.yyv[this.yysp - 2].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 505:
				this.yyval.yyObject = new List<THiveHintItem>
				{
					(THiveHintItem)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 506:
				((List<THiveHintItem>)this.yyv[this.yysp - 2].yyObject).Add((THiveHintItem)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 507:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveHintItem.getId(), this.yyv[this.yysp].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 508:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveHintItem.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 509:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 510:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 511:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 512:
				this.yyval.yyTParseTreeNode = (TObjectNameList)this.nf.createNode(ENodeType.T_ObjectNameList.getId(), (TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 513:
				((TObjectNameList)this.yyv[this.yysp - 2].yyTParseTreeNode).addObjectName((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 514:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 515:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				((TAliasClause)this.yyval.yyTParseTreeNode).setAsToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 516:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 517:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), null, this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TAliasClause)this.yyval.yyTParseTreeNode).setAsToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 518:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ResultColumn.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 519:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ResultColumn.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 520:
				((TExpression)this.yyv[this.yysp - 1].yyTParseTreeNode).WindowSpecification = (TWindowDef)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ResultColumn.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 521:
				((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode).WindowSpecification = (TWindowDef)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_ResultColumn.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 522:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				return;
			case 523:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTransformClause.getId(), this.yyv[this.yysp - 7].yyTParseTreeNode, this.yyv[this.yysp - 6].yyTParseTreeNode, this.yyv[this.yysp - 5].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				if (this.yyv[this.yysp - 2].yyTParseTreeNode != null)
				{
					((THiveTransformClause)this.yyval.yyTParseTreeNode).AliasClause = (TAliasClause)this.yyv[this.yysp - 2].yyTParseTreeNode;
				}
				((THiveTransformClause)this.yyval.yyTParseTreeNode).TransformType = THiveTransformClause.ETransformType.ettMap;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 8].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 524:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTransformClause.getId(), this.yyv[this.yysp - 7].yyTParseTreeNode, this.yyv[this.yysp - 6].yyTParseTreeNode, this.yyv[this.yysp - 5].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				if (this.yyv[this.yysp - 2].yyTParseTreeNode != null)
				{
					((THiveTransformClause)this.yyval.yyTParseTreeNode).AliasClause = (TAliasClause)this.yyv[this.yysp - 2].yyTParseTreeNode;
				}
				((THiveTransformClause)this.yyval.yyTParseTreeNode).TransformType = THiveTransformClause.ETransformType.ettReduce;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 8].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 525:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTransformClause.getId(), this.yyv[this.yysp - 8].yyTParseTreeNode, this.yyv[this.yysp - 6].yyTParseTreeNode, this.yyv[this.yysp - 5].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				if (this.yyv[this.yysp - 2].yyTParseTreeNode != null)
				{
					((THiveTransformClause)this.yyval.yyTParseTreeNode).AliasClause = (TAliasClause)this.yyv[this.yysp - 2].yyTParseTreeNode;
				}
				((THiveTransformClause)this.yyval.yyTParseTreeNode).TransformType = THiveTransformClause.ETransformType.ettMap;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 10].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 526:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveTransformClause.getId(), this.yyv[this.yysp - 8].yyTParseTreeNode, this.yyv[this.yysp - 6].yyTParseTreeNode, this.yyv[this.yysp - 5].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTSourceToken, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				if (this.yyv[this.yysp - 2].yyTParseTreeNode != null)
				{
					((THiveTransformClause)this.yyval.yyTParseTreeNode).AliasClause = (TAliasClause)this.yyv[this.yysp - 2].yyTParseTreeNode;
				}
				((THiveTransformClause)this.yyval.yyTParseTreeNode).TransformType = THiveTransformClause.ETransformType.ettReduce;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 10].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 527:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), null, this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TAliasClause)this.yyval.yyTParseTreeNode).setAsToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 528:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), null, null, this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TAliasClause)this.yyval.yyTParseTreeNode).setAsToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 529:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), null, this.yyv[this.yysp].yyTParseTreeNode);
				((TAliasClause)this.yyval.yyTParseTreeNode).setAsToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 530:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), null, null, this.yyv[this.yysp].yyTParseTreeNode);
				((TAliasClause)this.yyval.yyTParseTreeNode).setAsToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 531:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 532:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 533:
				this.yyval.yyTParseTreeNode = (TExpressionList)this.nf.createNode(ENodeType.T_ExpressionList.getId(), (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 534:
				((TExpressionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addExpression((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 535:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowClause.getId(), (List<TWindowDef>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken<TWindowDef>((List<TWindowDef>)this.yyv[this.yysp].yyObject);
				return;
			case 536:
				this.yyval.yyObject = new List<TWindowDef>
				{
					(TWindowDef)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 537:
				((List<TWindowDef>)this.yyv[this.yysp - 2].yyObject).Add((TWindowDef)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 538:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				((TWindowDef)this.yyval.yyTParseTreeNode).Name = (TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 539:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowDef.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 540:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowDef.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 541:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowDef.getId());
				((TWindowDef)this.yyval.yyTParseTreeNode).WindowFrame = (TWindowFrame)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 542:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowDef.getId());
				((TWindowDef)this.yyval.yyTParseTreeNode).partitionSpec = (TWindowPartitioningSpec)this.yyv[this.yysp - 2].yyTParseTreeNode;
				((TWindowDef)this.yyval.yyTParseTreeNode).WindowFrame = (TWindowFrame)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 543:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowDef.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode);
				((TWindowDef)this.yyval.yyTParseTreeNode).partitionSpec = (TWindowPartitioningSpec)this.yyv[this.yysp - 2].yyTParseTreeNode;
				((TWindowDef)this.yyval.yyTParseTreeNode).WindowFrame = (TWindowFrame)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 544:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 545:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 546:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 547:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 548:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrame.getId(), ELimitRowType.Rows, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 549:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrame.getId(), ELimitRowType.Rows, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 550:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrame.getId(), ELimitRowType.Range, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 551:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrame.getId(), ELimitRowType.Range, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 552:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrameBoundary.getId(), EBoundaryType.ebtUnboundedPreceding);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 553:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrameBoundary.getId(), EBoundaryType.ebtCurrentRow);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 554:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrameBoundary.getId(), EBoundaryType.ebtPreceding, this.nf.createSimpleExpression(this.yyv[this.yysp - 1].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 555:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrameBoundary.getId(), EBoundaryType.ebtUnboundedPreceding);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 556:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrameBoundary.getId(), EBoundaryType.ebtUnboundedFollowing);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 557:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrameBoundary.getId(), EBoundaryType.ebtCurrentRow);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 558:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrameBoundary.getId(), EBoundaryType.ebtPreceding, this.nf.createSimpleExpression(this.yyv[this.yysp - 1].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 559:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowFrameBoundary.getId(), EBoundaryType.ebtFollowing, this.nf.createSimpleExpression(this.yyv[this.yysp - 1].yyTSourceToken));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 560:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 561:
				this.yyval.copy(this.yyv[this.yysp - 2]);
				return;
			case 562:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 563:
				((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode).mergeObjectName((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 564:
				((TObjectName)this.yyv[this.yysp - 4].yyTParseTreeNode).mergeObjectName((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode, (TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 4].yyTParseTreeNode;
				return;
			case 565:
				((TObjectName)this.yyv[this.yysp - 4].yyTParseTreeNode).mergeObjectName((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode, this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 4].yyTParseTreeNode;
				return;
			case 566:
				((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode).mergeObjectName(this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 567:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 568:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 569:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 570:
				this.yyval.yyTParseTreeNode = (TFromTableList)this.nf.createNode(ENodeType.T_FromTableList.getId(), (TFromTable)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 571:
				((TJoinExpr)this.yyv[this.yysp].yyTParseTreeNode).LeftMostJoinExpr.LeftOperand = (TFromTable)this.yyv[this.yysp - 1].yyTParseTreeNode;
				((TJoinExpr)this.yyv[this.yysp].yyTParseTreeNode).setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = (TFromTableList)this.nf.createNode(ENodeType.T_FromTableList.getId(), (TFromTable)this.tmpnode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 572:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 573:
				this.yyval.yyTParseTreeNode = (TFromTableList)this.nf.createNode(ENodeType.T_FromTableList.getId(), (TFromTable)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 574:
				this.yyval.yyTParseTreeNode = (TFromTableList)this.nf.createNode(ENodeType.T_FromTableList.getId(), (TFromTable)this.yyv[this.yysp - 4].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 575:
				this.yyval.yyTParseTreeNode = (TFromTableList)this.nf.createNode(ENodeType.T_FromTableList.getId(), (TFromTable)this.yyv[this.yysp - 6].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp - 4].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 576:
				this.yyval.yyTParseTreeNode = (TFromTableList)this.nf.createNode(ENodeType.T_FromTableList.getId(), (TFromTable)this.yyv[this.yysp - 8].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp - 6].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp - 4].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TFromTableList)this.yyval.yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 577:
				this.yyval.yyTParseTreeNode = (TFromTableList)this.nf.createNode(ENodeType.T_FromTableList.getId(), (TFromTable)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 578:
				((TFromTableList)this.yyv[this.yysp - 2].yyTParseTreeNode).addFromTable((TFromTable)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 579:
				((TFromTable)this.yyv[this.yysp - 3].yyTParseTreeNode).JoinExprList = (TExpressionList)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 3].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 580:
				((TFromTable)this.yyv[this.yysp - 3].yyTParseTreeNode).JoinExprList = (TExpressionList)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 3].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 581:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 582:
				break;
			case 583:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).setJointype(EJoinType.join);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 584:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).setJointype(EJoinType.inner);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 585:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).setJointype(EJoinType.cross);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 586:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).setJointype(EJoinType.leftouter);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 587:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).setJointype(EJoinType.rightouter);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 588:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).setJointype(EJoinType.fullouter);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 589:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).setJointype(EJoinType.leftsemi);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 590:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.join;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 591:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.inner;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 592:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.cross;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 593:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.leftouter;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 594:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.rightouter;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 595:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.fullouter;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 596:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), null, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.leftsemi;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 597:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.join;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 598:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.inner;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 599:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.cross;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 600:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.leftouter;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 601:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.rightouter;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 602:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.fullouter;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 603:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.leftsemi;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 604:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.join;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 605:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.inner;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 606:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.cross;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 607:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.leftouter;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 608:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.rightouter;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 609:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.fullouter;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 610:
				this.tmpnode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_JoinExpr.getId(), this.tmpnode, this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TJoinExpr)this.yyval.yyTParseTreeNode).Jointype = EJoinType.leftsemi;
				((TJoinExpr)this.yyval.yyTParseTreeNode).JoinCondition = (TExpression)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 611:
				this.yyval.yyObject = new List<THiveLateralView>
				{
					(THiveLateralView)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 612:
				((List<THiveLateralView>)this.yyv[this.yysp - 1].yyObject).Add((THiveLateralView)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 1].yyObject;
				return;
			case 613:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 614:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 615:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLateralView.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 616:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLateralView.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				((THiveLateralView)this.yyval.yyTParseTreeNode).Outer = true;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 617:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLateralView.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 618:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveLateralView.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				((THiveLateralView)this.yyval.yyTParseTreeNode).Outer = true;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 619:
				this.yyval.yyTParseTreeNode = (TObjectNameList)this.nf.createNode(ENodeType.T_ObjectNameList.getId(), (TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 620:
				((TObjectNameList)this.yyv[this.yysp - 2].yyTParseTreeNode).addObjectName((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 621:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 622:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				((TAliasClause)this.yyval.yyTParseTreeNode).setAsToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 623:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_AliasClause.getId(), this.yyv[this.yysp].yyTSourceToken);
				((TAliasClause)this.yyval.yyTParseTreeNode).setAsToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 624:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 625:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 626:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 627:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TFromTable)this.yyval.yyTParseTreeNode).LateralViewList = (List<THiveLateralView>)this.yyv[this.yysp].yyObject;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken<THiveLateralView>((List<THiveLateralView>)this.yyv[this.yysp].yyObject);
				return;
			case 628:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				((TFromTable)this.yyval.yyTParseTreeNode).LateralViewList = (List<THiveLateralView>)this.yyv[this.yysp].yyObject;
				this.yyval.yyTParseTreeNode.setEndToken<THiveLateralView>((List<THiveLateralView>)this.yyv[this.yysp].yyObject);
				return;
			case 629:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				((TFromTable)this.yyval.yyTParseTreeNode).LateralViewList = (List<THiveLateralView>)this.yyv[this.yysp].yyObject;
				this.yyval.yyTParseTreeNode.setEndToken<THiveLateralView>((List<THiveLateralView>)this.yyv[this.yysp].yyObject);
				return;
			case 630:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_TableSample.getId(), this.nf.createConstant(this.yyv[this.yysp - 5].yyTSourceToken, ENodeType.T_Constant_Integer), this.nf.createConstant(this.yyv[this.yysp - 2].yyTSourceToken, ENodeType.T_Constant_Integer), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 8].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 631:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 632:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 633:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_TableSample.getId(), this.nf.createConstant(this.yyv[this.yysp - 2].yyTSourceToken, ENodeType.T_Constant_Integer), this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 634:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_TableSample.getId(), this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_Integer), null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 635:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 636:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 637:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 638:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 639:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 640:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 641:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TFromTable)this.yyval.yyTParseTreeNode).TableSample = (TTableSample)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 642:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				((TFromTable)this.yyval.yyTParseTreeNode).TableSample = (TTableSample)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 643:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TFromTable)this.yyval.yyTParseTreeNode).TableProperties = (List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken<THiveKeyValueProperty>((List<THiveKeyValueProperty>)this.yyv[this.yysp].yyObject);
				return;
			case 644:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				((TFromTable)this.yyval.yyTParseTreeNode).TableProperties = (List<THiveKeyValueProperty>)this.yyv[this.yysp - 1].yyObject;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 645:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TFromTable)this.yyval.yyTParseTreeNode).TableProperties = (List<THiveKeyValueProperty>)this.yyv[this.yysp - 1].yyObject;
				((TFromTable)this.yyval.yyTParseTreeNode).TableSample = (TTableSample)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 646:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				((TFromTable)this.yyval.yyTParseTreeNode).TableProperties = (List<THiveKeyValueProperty>)this.yyv[this.yysp - 2].yyObject;
				((TFromTable)this.yyval.yyTParseTreeNode).TableSample = (TTableSample)this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 647:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 648:
				((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode).mergeObjectName((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 649:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 650:
				((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode).mergeObjectName((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 651:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 652:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 653:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 654:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 655:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowPartitioningSpec.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode, null, null, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 656:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowPartitioningSpec.getId(), null, this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 657:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowPartitioningSpec.getId(), null, null, null, this.yyv[this.yysp].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 658:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowPartitioningSpec.getId(), null, null, null, null, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 659:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WindowPartitioningSpec.getId(), null, this.yyv[this.yysp].yyTParseTreeNode, null, null, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 660:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 661:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 662:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 663:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HivePartitionedTableFunction.getId(), this.yyv[this.yysp - 6].yyTParseTreeNode, this.yyv[this.yysp - 3].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 664:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HivePartitionedTableFunction.getId(), this.yyv[this.yysp - 7].yyTParseTreeNode, this.yyv[this.yysp - 4].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 7].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 665:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 666:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 667:
				this.yyval.yyTParseTreeNode = (TDummyList)this.nf.createNode(ENodeType.T_DummyList.getId(), (TDummy)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 668:
				((TDummyList)this.yyv[this.yysp - 2].yyTParseTreeNode).addDummyItem((TDummy)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 669:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Dummy.getId());
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 670:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 671:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 672:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WhereClause.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 673:
				this.yyval.yyTParseTreeNode = (TExpressionList)this.nf.createNode(ENodeType.T_ExpressionList.getId(), (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 674:
				((TExpressionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addExpression((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 675:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_GruopBy.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, null);
				((TGroupBy)this.yyval.yyTParseTreeNode).setGROUP(this.yyv[this.yysp - 4].yyTSourceToken);
				((TGroupBy)this.yyval.yyTParseTreeNode).setBY(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				if (this.yyv[this.yysp - 1].yyTParseTreeNode != null)
				{
					((TGroupByItemList)this.yyv[this.yysp - 2].yyTParseTreeNode).addGroupByItem((TGroupByItem)this.yyv[this.yysp - 1].yyTParseTreeNode);
				}
				if (this.yyv[this.yysp].yyTParseTreeNode != null)
				{
					((TGroupByItemList)this.yyv[this.yysp - 2].yyTParseTreeNode).addGroupByItem((TGroupByItem)this.yyv[this.yysp].yyTParseTreeNode);
					this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
					return;
				}
				break;
			case 676:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_GruopBy.getId(), this.yyv[this.yysp - 4].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				((TGroupBy)this.yyval.yyTParseTreeNode).setGROUP(this.yyv[this.yysp - 6].yyTSourceToken);
				((TGroupBy)this.yyval.yyTParseTreeNode).setBY(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 6].yyTSourceToken);
				if (this.yyv[this.yysp - 3].yyTParseTreeNode != null)
				{
					((TGroupByItemList)this.yyv[this.yysp - 4].yyTParseTreeNode).addGroupByItem((TGroupByItem)this.yyv[this.yysp - 3].yyTParseTreeNode);
				}
				if (this.yyv[this.yysp - 2].yyTParseTreeNode != null)
				{
					((TGroupByItemList)this.yyv[this.yysp - 4].yyTParseTreeNode).addGroupByItem((TGroupByItem)this.yyv[this.yysp - 2].yyTParseTreeNode);
				}
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 677:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_GruopBy.getId(), null, this.yyv[this.yysp].yyTParseTreeNode);
				((TGroupBy)this.yyval.yyTParseTreeNode).setHAVING(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 678:
				this.yyval.yyTParseTreeNode = (TGroupByItemList)this.nf.createNode(ENodeType.T_GruopByItemList.getId(), (TGroupByItem)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 679:
				((TGroupByItemList)this.yyv[this.yysp - 2].yyTParseTreeNode).addGroupByItem((TGroupByItem)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 680:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_GruopByItem.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 681:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_GruopByItem.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 682:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 683:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_GroupingSet.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 684:
				((TGroupingSetItemList)this.yyv[this.yysp - 2].yyTParseTreeNode).addGroupingSetItem((TGroupingSetItem)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 685:
				this.yyval.yyTParseTreeNode = (TGroupingSetItemList)this.nf.createNode(ENodeType.T_GroupingSetItemList.getId(), (TGroupingSetItem)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 686:
				this.tmpnode = this.nf.createNode(ENodeType.T_RollupCube.getId(), null);
				((TRollupCube)this.tmpnode).setOperation(1);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_GruopByItem.getId(), this.tmpnode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 687:
				this.tmpnode = this.nf.createNode(ENodeType.T_RollupCube.getId(), null);
				((TRollupCube)this.tmpnode).setOperation(2);
				this.yyval.yyTParseTreeNode.setStartToken(this.tmpnode);
				this.yyval.yyTParseTreeNode.setEndToken(this.tmpnode);
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_GruopByItem.getId(), this.tmpnode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 688:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 689:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_GroupingSetItem.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 690:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 691:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.list_t, null, this.yyv[this.yysp - 1].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 692:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.list_t, null, null, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 693:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 694:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_OrderBy.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 695:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_OrderBy.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 696:
				this.yyval.yyTParseTreeNode = (TOrderByItemList)this.nf.createNode(ENodeType.T_OrderByItemList.getId(), (TOrderByItem)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 697:
				((TOrderByItemList)this.yyv[this.yysp - 2].yyTParseTreeNode).addOrderByItem((TOrderByItem)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 698:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveClusterBy.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 699:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveClusterBy.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 700:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_PartitionClause.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 701:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_PartitionClause.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 702:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDistributeBy.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 703:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveDistributeBy.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 704:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveSortBy.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 705:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveSortBy.getId(), this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 706:
				this.yyval.yyTParseTreeNode = this.nf.createFunctionCall(EFunctionType.unknown_t, (TObjectName)this.yyv[this.yysp - 3].yyTParseTreeNode);
				((TFunctionCall)this.yyval.yyTParseTreeNode).setArgs((TExpressionList)this.nf.createNode(ENodeType.T_ExpressionList.getId(), this.nf.createSimpleExpression(this.nf.createObjectName(null, null, this.yyv[this.yysp - 1].yyTSourceToken))));
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 707:
				this.yyval.yyTParseTreeNode = this.nf.createFunctionCall(EFunctionType.unknown_t, (TObjectName)this.yyv[this.yysp - 3].yyTParseTreeNode);
				((TFunctionCall)this.yyval.yyTParseTreeNode).setArgs((TExpressionList)this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 708:
				this.yyval.yyTParseTreeNode = this.nf.createFunctionCall(EFunctionType.unknown_t, (TObjectName)this.yyv[this.yysp - 4].yyTParseTreeNode);
				((TFunctionCall)this.yyval.yyTParseTreeNode).setAggregateType(EAggregateType.distinct);
				((TFunctionCall)this.yyval.yyTParseTreeNode).setArgs((TExpressionList)this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 709:
				this.yyval.yyTParseTreeNode = this.nf.createFunctionCall(EFunctionType.unknown_t, (TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 710:
				this.yyval.yyTParseTreeNode = (TExpressionList)this.nf.createNode(ENodeType.T_ExpressionList.getId(), (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 711:
				((TExpressionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addExpression((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 712:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 713:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 714:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 715:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 716:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 717:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 718:
				this.yyval.yyTParseTreeNode = this.nf.createFunctionCall(EFunctionType.cast_t, this.nf.createObjectName(null, null, this.yyv[this.yysp - 5].yyTSourceToken));
				((TFunctionCall)this.yyval.yyTParseTreeNode).setFuncType(2);
				((TFunctionCall)this.yyval.yyTParseTreeNode).setExpr1((TExpression)this.yyv[this.yysp - 3].yyTParseTreeNode);
				((TFunctionCall)this.yyval.yyTParseTreeNode).setTypename((TTypeName)this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 719:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_CaseExpression.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp - 2].yyTParseTreeNodeList, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 720:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp].yyTParseTreeNode;
				return;
			case 721:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 722:
				this.yyval.yyTParseTreeNodeList = (TWhenClauseItemList)this.nf.createNode(ENodeType.T_WhenClauseItemList.getId(), (TWhenClauseItem)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 723:
				((TWhenClauseItemList)this.yyv[this.yysp - 1].yyTParseTreeNodeList).addWhenClauseItem((TWhenClauseItem)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNodeList = this.yyv[this.yysp - 1].yyTParseTreeNodeList;
				return;
			case 724:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_WhenClauseItem.getId(), this.yyv[this.yysp - 2].yyTParseTreeNode, this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 725:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_CaseExpression.getId(), null, this.yyv[this.yysp - 2].yyTParseTreeNodeList, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 726:
				this.yyval.yyTParseTreeNode = this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_Date);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 727:
				this.yyval.yyTParseTreeNode = this.nf.createConstant(this.yyv[this.yysp].yyTSourceToken, ENodeType.T_Constant_Integer);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 728:
				this.yyval.yyTParseTreeNode = this.nf.createConstant(this.yyv[this.yysp].yyTSourceToken, ENodeType.T_Constant_String);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 729:
				this.yyval.yyTParseTreeNode = this.nf.createConstant<TConstant>((List<TConstant>)this.yyv[this.yysp].yyObject, ENodeType.T_Constant_String);
				((TConstant)this.yyval.yyTParseTreeNode).StringLiteralSequence = (List<TConstant>)this.yyv[this.yysp].yyObject;
				this.yyval.yyTParseTreeNode.setStartToken<TConstant>((List<TConstant>)this.yyv[this.yysp].yyObject);
				this.yyval.yyTParseTreeNode.setEndToken<TConstant>((List<TConstant>)this.yyv[this.yysp].yyObject);
				return;
			case 730:
				this.yyval.yyTParseTreeNode = this.nf.createConstant(this.yyv[this.yysp].yyTSourceToken, ENodeType.T_Constant_Integer);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 731:
				this.yyval.yyTParseTreeNode = this.nf.createConstant(this.yyv[this.yysp].yyTSourceToken, ENodeType.T_Constant_Integer);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 732:
				this.yyval.yyTParseTreeNode = this.nf.createConstant(this.yyv[this.yysp].yyTSourceToken, ENodeType.T_Constant_Integer);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 733:
				this.yyval.yyTParseTreeNode = this.nf.createConstant(this.yyv[this.yysp].yyTSourceToken, ENodeType.T_Constant_Integer);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 734:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 735:
				this.yyval.yyTParseTreeNode = this.nf.createConstant(this.yyv[this.yysp].yyTSourceToken, ENodeType.T_Constant_Boolean);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 736:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 737:
				this.tmpnode = this.nf.createConstant(this.yyv[this.yysp - 1].yyTSourceToken, ENodeType.T_Constant_String);
				this.tmpnode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyObject = new List<TConstant>
				{
					(TConstant)this.tmpnode
				};
				this.tmpnode = this.nf.createConstant(this.yyv[this.yysp].yyTSourceToken, ENodeType.T_Constant_String);
				this.tmpnode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				((List<TConstant>)this.yyval.yyObject).Add((TConstant)this.tmpnode);
				return;
			case 738:
				this.tmpnode = this.nf.createConstant(this.yyv[this.yysp].yyTSourceToken, ENodeType.T_Constant_String);
				this.tmpnode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.tmpnode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				((List<TConstant>)this.yyv[this.yysp - 1].yyObject).Add((TConstant)this.tmpnode);
				this.yyval.yyObject = this.yyv[this.yysp - 1].yyObject;
				return;
			case 739:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Constant.getId(), this.yyv[this.yysp - 1].yyTSourceToken, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 740:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Constant.getId(), this.yyv[this.yysp - 1].yyTSourceToken, this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 741:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 742:
				this.yyval.yyTParseTreeNode = this.nf.createSimpleExpression(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 743:
				this.yyval.yyTParseTreeNode = this.nf.createSimpleExpression(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 744:
				this.yyval.yyTParseTreeNode = this.nf.createSimpleExpression((TConstant)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 745:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.function_t);
				((TExpression)this.yyval.yyTParseTreeNode).setFunctionCall((TFunctionCall)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 746:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.function_t);
				((TExpression)this.yyval.yyTParseTreeNode).setFunctionCall((TFunctionCall)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 747:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.case_t);
				((TExpression)this.yyval.yyTParseTreeNode).setCaseExpression((TCaseExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 748:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.case_t);
				((TExpression)this.yyval.yyTParseTreeNode).setCaseExpression((TCaseExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 749:
				this.yyval.yyTParseTreeNode = this.nf.createSimpleExpression((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 750:
				this.yyval.yyTParseTreeNode = this.nf.createCompoundExpression(EExpressionType.parenthesis_t, (TExpression)this.yyv[this.yysp - 1].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyv[this.yysp - 2].yyTSourceToken.setLinkToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 751:
				this.yyval.yyTParseTreeNode = this.nf.createSimpleExpression((THiveVariable)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 752:
				this.yyval.yyTParseTreeNode = this.nf.createSimpleExpression((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 753:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 754:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.array_access_expr_t, null, (TExpression)this.yyv[this.yysp - 3].yyTParseTreeNode, (TExpression)this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 755:
				this.yyval.yyTParseTreeNode = TExpression.mergeObjectNameList((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, (TObjectNameList)this.yyv[this.yysp].yyTParseTreeNode);
				if (this.yyval.yyTParseTreeNode == null)
				{
					this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.field_access_t, null, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, null);
					((TExpression)this.yyval.yyTParseTreeNode).FieldList = (TObjectNameList)this.yyv[this.yysp].yyTParseTreeNode;
				}
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 756:
				this.yyval.yyTParseTreeNode = (TObjectNameList)this.nf.createNode(ENodeType.T_ObjectNameList.getId(), (TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 757:
				this.yyval.yyTParseTreeNode = (TObjectNameList)this.nf.createNode(ENodeType.T_ObjectNameList.getId(), this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				return;
			case 758:
				((TObjectNameList)this.yyv[this.yysp - 2].yyTParseTreeNode).addObjectName((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 759:
				((TObjectNameList)this.yyv[this.yysp - 2].yyTParseTreeNode).addObjectName(this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken));
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 760:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 761:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.unary_plus_t, this.yyv[this.yysp - 1].yyTSourceToken, null, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 762:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.unary_minus_t, this.yyv[this.yysp - 1].yyTSourceToken, null, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 763:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.unary_bitwise_not_t, this.yyv[this.yysp - 1].yyTSourceToken, null, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 764:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 765:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.null_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 766:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.null_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 3].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setNotToken(this.yyv[this.yysp - 1].yyTSourceToken);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 767:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 768:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.bitwise_exclusive_or_t, this.yyv[this.yysp - 1].yyTSourceToken, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 769:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 770:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.arithmetic_times_t, this.yyv[this.yysp - 1].yyTSourceToken, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 771:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.arithmetic_divide_t, this.yyv[this.yysp - 1].yyTSourceToken, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 772:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.arithmetic_modulo_t, this.yyv[this.yysp - 1].yyTSourceToken, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 773:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.arithmetic_divide_t, this.yyv[this.yysp - 1].yyTSourceToken, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 774:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 775:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.arithmetic_plus_t, this.yyv[this.yysp - 1].yyTSourceToken, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 776:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.arithmetic_minus_t, this.yyv[this.yysp - 1].yyTSourceToken, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 777:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 778:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.logical_and_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 779:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 780:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.logical_or_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 781:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 782:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 783:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 784:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 785:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 786:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 787:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 788:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 789:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 790:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 791:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 792:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 793:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.simple_comparison_t, (TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode, (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).ComparisonOperator = this.yyv[this.yysp - 1].yyTSourceToken;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 794:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.in_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 3].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setNotToken(this.yyv[this.yysp - 2].yyTSourceToken);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 795:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.in_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 796:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.between_t);
				((TExpression)this.yyval.yyTParseTreeNode).setBetweenOperand((TExpression)this.yyv[this.yysp - 5].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setNotToken(this.yyv[this.yysp - 4].yyTSourceToken);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 797:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.between_t);
				((TExpression)this.yyval.yyTParseTreeNode).setBetweenOperand((TExpression)this.yyv[this.yysp - 4].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 4].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 798:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyv[this.yysp - 2].yyTSourceToken.setLinkToken(this.yyv[this.yysp].yyTSourceToken);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).incParenthesisCount();
				return;
			case 799:
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 1].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				this.yyv[this.yysp - 2].yyTSourceToken.setLinkToken(this.yyv[this.yysp].yyTSourceToken);
				((TSelectSqlNode)this.yyval.yyTParseTreeNode).incParenthesisCount();
				return;
			case 800:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_Expression.getId(), EExpressionType.list_t, null, this.yyv[this.yysp - 1].yyTParseTreeNode, null);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 801:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.subquery_t);
				((TExpression)this.yyval.yyTParseTreeNode).SubQueryNode = (TSelectSqlNode)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 802:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 803:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.logical_not_t);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 804:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.logical_not_t);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 805:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 806:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.logical_and_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 807:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.logical_and_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 808:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 809:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.logical_or_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 810:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.logical_or_t);
				((TExpression)this.yyval.yyTParseTreeNode).setLeftOperand((TExpression)this.yyv[this.yysp - 2].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setRightOperand((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				((TExpression)this.yyval.yyTParseTreeNode).setOperatorToken(this.yyv[this.yysp - 1].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 811:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 812:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 813:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 814:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_FromTable.getId(), (TObjectName)this.yyv[this.yysp - 1].yyTParseTreeNode);
				((TFromTable)this.yyval.yyTParseTreeNode).PartitionExtensionClause = (TPartitionExtensionClause)this.yyv[this.yysp].yyTParseTreeNode;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 815:
				this.yyval.yyObject = new List<TPartitionExtensionClause>
				{
					(TPartitionExtensionClause)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 816:
				((List<TPartitionExtensionClause>)this.yyv[this.yysp - 1].yyObject).Add((TPartitionExtensionClause)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 1].yyObject;
				return;
			case 817:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 818:
				this.yyval.yyTParseTreeNode = null;
				return;
			case 819:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_PartitionExtensionClause.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 820:
				this.yyval.yyTParseTreeNode = (TExpressionList)this.nf.createNode(ENodeType.T_ExpressionList.getId(), (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 821:
				((TExpressionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addExpression((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 822:
				this.yyval.yyTParseTreeNode = this.nf.createSimpleExpression((TObjectName)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 823:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.assignment_t, this.nf.createSimpleExpression((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode), (TExpression)this.nf.createSimpleExpression((TConstant)this.yyv[this.yysp].yyTParseTreeNode));
				((TExpression)this.yyval.yyTParseTreeNode).ComparisonOperator = this.yyv[this.yysp - 1].yyTSourceToken;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 824:
				this.yyval.yyObject = new List<TPartitionExtensionClause>
				{
					(TPartitionExtensionClause)this.yyv[this.yysp].yyTParseTreeNode
				};
				return;
			case 825:
				((List<TPartitionExtensionClause>)this.yyv[this.yysp - 2].yyObject).Add((TPartitionExtensionClause)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyObject = this.yyv[this.yysp - 2].yyObject;
				return;
			case 826:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_PartitionExtensionClause.getId(), this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 3].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 827:
				this.yyval.yyTParseTreeNode = (TExpressionList)this.nf.createNode(ENodeType.T_ExpressionList.getId(), (TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 828:
				((TExpressionList)this.yyv[this.yysp - 2].yyTParseTreeNode).addExpression((TExpression)this.yyv[this.yysp].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode = this.yyv[this.yysp - 2].yyTParseTreeNode;
				return;
			case 829:
				this.yyval.yyTParseTreeNode = this.nf.createExpression(EExpressionType.simple_comparison_t, this.nf.createSimpleExpression((TObjectName)this.yyv[this.yysp - 2].yyTParseTreeNode), (TExpression)this.nf.createSimpleExpression((TConstant)this.yyv[this.yysp].yyTParseTreeNode));
				((TExpression)this.yyval.yyTParseTreeNode).ComparisonOperator = this.yyv[this.yysp - 1].yyTSourceToken;
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 2].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTParseTreeNode);
				return;
			case 830:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 831:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 832:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 833:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 834:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 835:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 836:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 837:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 838:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 839:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 840:
				this.yyval.yyTParseTreeNode = this.nf.createObjectName(null, null, this.yyv[this.yysp].yyTSourceToken);
				return;
			case 841:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveVariable.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 842:
				this.yyval.yyTParseTreeNode = this.nf.createNode(ENodeType.T_HiveVariable.getId(), this.yyv[this.yysp - 3].yyTParseTreeNode, this.yyv[this.yysp - 1].yyTParseTreeNode);
				this.yyval.yyTParseTreeNode.setStartToken(this.yyv[this.yysp - 5].yyTSourceToken);
				this.yyval.yyTParseTreeNode.setEndToken(this.yyv[this.yysp].yyTSourceToken);
				return;
			case 843:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 844:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 845:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 846:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 847:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 848:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 849:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 850:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 851:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 852:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 853:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 854:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 855:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 856:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 857:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 858:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 859:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 860:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 861:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 862:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 863:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 864:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 865:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 866:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 867:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 868:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 869:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 870:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 871:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 872:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 873:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 874:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 875:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 876:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 877:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 878:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 879:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 880:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 881:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 882:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 883:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 884:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 885:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 886:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 887:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 888:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 889:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 890:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 891:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 892:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 893:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 894:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 895:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 896:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 897:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 898:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 899:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 900:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 901:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 902:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 903:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 904:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 905:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 906:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 907:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 908:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 909:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 910:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 911:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 912:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 913:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 914:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 915:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 916:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 917:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 918:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 919:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 920:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 921:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 922:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 923:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 924:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 925:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 926:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 927:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 928:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 929:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 930:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 931:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 932:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 933:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 934:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 935:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 936:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 937:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 938:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 939:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 940:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 941:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 942:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 943:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 944:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 945:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 946:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 947:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 948:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 949:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 950:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 951:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 952:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 953:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 954:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 955:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 956:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 957:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 958:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 959:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 960:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 961:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 962:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 963:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 964:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 965:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 966:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 967:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 968:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 969:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 970:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 971:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 972:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 973:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 974:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 975:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 976:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 977:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 978:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 979:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 980:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 981:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 982:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 983:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 984:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 985:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 986:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 987:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 988:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 989:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 990:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 991:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 992:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 993:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 994:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 995:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 996:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 997:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 998:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 999:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1000:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1001:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1002:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1003:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1004:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1005:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1006:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1007:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1008:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1009:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1010:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1011:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1012:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1013:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1014:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1015:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1016:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1017:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1018:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1019:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1020:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1021:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1022:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1023:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1024:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1025:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1026:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1027:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1028:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1029:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1030:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1031:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1032:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1033:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1034:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1035:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1036:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1037:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1038:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1039:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1040:
				this.yyval.copy(this.yyv[this.yysp]);
				return;
			case 1041:
				this.yyval.copy(this.yyv[this.yysp]);
				break;
			default:
				return;
			}
		}

		// Token: 0x04000F64 RID: 3940
		internal static int yynacts;

		// Token: 0x04000F65 RID: 3941
		internal static int yyngotos;

		// Token: 0x04000F66 RID: 3942
		internal static int yynstates;

		// Token: 0x04000F67 RID: 3943
		internal static int yynrules;

		// Token: 0x04000F68 RID: 3944
		internal static int[] yya_sym;

		// Token: 0x04000F69 RID: 3945
		internal static int[] yya_act;

		// Token: 0x04000F6A RID: 3946
		internal static int[] yyr_len;

		// Token: 0x04000F6B RID: 3947
		internal static int[] yyr_sym;

		// Token: 0x04000F6C RID: 3948
		internal static int[] yyg_sym;

		// Token: 0x04000F6D RID: 3949
		internal static int[] yyg_act;

		// Token: 0x04000F6E RID: 3950
		internal static int[] yyd;

		// Token: 0x04000F6F RID: 3951
		internal static int[] yyal;

		// Token: 0x04000F70 RID: 3952
		internal static int[] yyah;

		// Token: 0x04000F71 RID: 3953
		internal static int[] yygl;

		// Token: 0x04000F72 RID: 3954
		internal static int[] yygh;

		// Token: 0x04000F73 RID: 3955
		internal static string table_file = "/SharpSqlAnalyzer/parser/hive/hive_yacc_table.txt";
	}
}
